﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace  RzCorportativo.Views.Cadastros
{
    public partial class Especialidade : BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (this.IsPostBack)
                return;
            if (this.Request.QueryString["especialidade"] != null)
            {
                short parse = 0; short.TryParse(this.Request.QueryString["especialidade"], out parse);
                var especialidade = RzCorportativo.Lib.Especialidade.CreateInstance(parse);
                this.Descricao.Text = especialidade.Descricao;
                this.EspecialidadeId.Value = especialidade.EspecialidadeId.ToString();
                this.Status.SelectedValue = especialidade.Status ? "1" : "0";
            }

        }
        protected void salvar_Click(object sender, EventArgs e)
        {
            string error = string.Empty;
            Alert alerta = new Alert("erroGeral", this);
            alerta.AlertType = AlertType.Error;
            try
            {
                var especialidade = new RzCorportativo.Lib.Especialidade();
                short parse = 0;
                if (short.TryParse(this.EspecialidadeId.Value, out parse))
                    especialidade = RzCorportativo.Lib.Especialidade.CreateInstance(parse);
                especialidade.Descricao = this.Descricao.Text;
                especialidade.Status = "1".Equals(this.Status.SelectedValue);
                if (string.IsNullOrWhiteSpace(especialidade.Descricao))
                {
                    alerta.Add("desc", "Descrição inválida");
                }
                if (string.IsNullOrEmpty(this.Status.SelectedValue))
                    alerta.Add("status", "Status inválido");
                if (alerta.HasMessage)
                {
                    alerta.Show();
                    return;
                }
                if (especialidade.Salvar())
                {
                    Session["op"] = "s";
                    this.ClientScript.RegisterStartupScript(this.GetType(), "error", "window.location.href='" + EFramework.Web.UrlBase.UrlPadrao + "Views/Consulta/Especialidade.aspx" + "'", true);
                }
                else
                    alerta.Add("erro", "Falha ao salvar o item");

            }
            catch (Exception ex)
            {
                alerta.Add("exception", ex.Message);
            }
            finally
            {
                if (alerta.HasMessage)
                    alerta.Show();
            }
        }
    }
}